home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d20
/
mren250.arc
/
MREN.DOC
< prev
next >
Wrap
Text File
|
1989-07-03
|
35KB
|
920 lines
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
===========================================================
MSGRENUM
Version 2.50
===========================================================
Copyright (C) 1989 David Nugent & Unique Computing P/L
All Rights Reserved
July, 1989
------------
In BRIEF ...
------------
A Renumber/Purge/Archive/Replylink Message Utility
Usage:
MREN [options] [dir ... | areas ...]
Options:
-R Renumber messages
-P Purge messages based on date and/or number
-L Link replys (based on message subject)
-S Small memory option (use stdout)
-Vn Select verbose option (0=VERY, 8=Silent)
-M# Set default maximum # of messages
-D# Set default maximum days since arrival
-Aname Specify name of an areas file
-N Enables use with Opus ver 1.10 or greater
-Ufile Adjust msg pointers in user file 'file'
-DB Use D'Bridge style exported config file
-Ffile Use named file as worklist (ECHOTOSS.LOG)
-K Kill received messages
-Efile Save mail statistics in file 'file'
-Zdir Archive deleted messages to dir\<area>.SAV
Page 1
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
Where no directories or areas specified, all areas in the AREAS file
file are used. If directories specified, only those directories are
used. If area names are specified, then the directories (as found
in the AREAS file) are used. The default areas file is "AREAS.BBS"
which may be in your SEADOG, OPUS, BINKLEY or DBRIDGE directory. If
the D'Bridge style exported configuration file is used, the default
name is "DBRIDGE.AUT".
MsgRenum is a utility designed to work with Opus-CBCS, Fido or other
bulletin board systems using FTSC-style messages; particularly the
echomail system (but not exclusively).
MsgRenum provides an "all-in-one" utility which has the capacity to
purge received, old or messages beyond a specific number, renumber
each area (adjusting the two echomail high water marks, sysop and user
lastread pointers), link replies by subject 'thread', archive purged
messages in text form and produce message statistics all within a
single pass. Multiple passes and additional configuration files are
NOT required.
MsgRenum gets is information directly from your AREAS.BBS, DBRIDGE.AUT
(or whatever file name you nominate) and SYSTEM??.BBS files. The
default format expected for the areas file is that used by ConfMail
and similar utilities; all that is required is that valid directory
names be followed on the same line by white space (spaces or tabs) and
an area name. Additional information can be provided to MREN in the
AREAS file to enable special fine tuning and setting defaults in a
simple, straightforward and (most importantly) very maintainable way.
If D'Bridge format is selected, the auto exported configuration file
is used, and MREN will scan for the verbs used by D'Bridge to specify
both local and echomail message areas.
COMPATIBILITY AND REQUIREMENTS
This program can be used on any computer running MS-DOS 3.10 or later
(please note that DOS version!). By default, it runs in IBM 100%
compatible mode and uses a faster full-screen interface. With the
"-S" switch, it will run on other computers by restricting its display
to generic DOS calls. This option will also consume less memory while
running, and so can be used under tighter memory conditions. The
approximate memory requirement when in this mode is 55K to load plus
additional memory for message workspace. The work-space required
depends on your largest message area - calculated at about 2.5K per
hundred messages (ie. if your largest area is 600 messages, then an
additional 15K will be required). There is no practical limit (that
need be worried about) to the number of message areas which can be
handled.
Page 2
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
COMMAND LINE OPTIONS
You must supply arguments to the program in order for it to work. By
default (no arguments) it does nothing other than provide usage
information. Each utility can be separately invoked, or in
combination. Typically, reply linking is done immediately after a
"toss" (import from PKT). Purging, renumbering and replylinking can
then be done periodically according to your own schedule (perhaps once
daily).
This version of MsgRenum does NOT use directly access the disk. It is
therefore compatible with DOS 4.xx, LAN networks and possibly future
MS-DOS versions. While slower than Bob Hartman's RENUM (which does
direct sector read/write), it has been optimised for the greatest
speed possible using standard DOS calls.
MREN achieves everything in a single pass; renumber, relink, purge and
archiving are carried out by default on all areas named in the given
AREAS file.
MsgRenum is available in an OS/2 protected mode version. For more
information, contact the author via netmail (3:632/348).
Possible command line arguments are (and these may be used in
combination to achieve the desired result):
-R Renumber messages
Carries out message renumbering. This is normally done in conjunction
with purge.
-P Purge messages based on date and/or number
Depending upon the -M# and/or -D# switches, this option will cause
qualifying messages to be purged (excess or old messages will be
deleted). If the areas file is being used, the maximum number and age
of messages can be overridden there. Purged messages can also be
optionally archived in text form (see "Purge" below and -Z option).
-L Link replys (based on message subject)
Forces message areas to be relinked by subject thread. This is
usually done in conjunction with renumbering and purging, but may also
be done separately when new mail is added to an existing area (say,
after an echomail toss).
-S Small memory option (use stdout)
Switches off full screen 100% "IBN Compatible" mode, and instead
forces output via standard DOS. This option can also be used to
preserve about 6=9K of memory (used by the video system).
Page 3
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
-V# Select verbose option (0=VERY, 8=Silent)
MREN has 8 levels of 'verbosity' (output of messages providing status
information). 0 (highest level) provides very detailed information,
and is especially useful when there appears to be some configuration
problem. Levels 6 - 8 are almost silent, apart from only the most
severe and fatal errors.
-M# Set default maximum # of messages
This option is useful where a specific directory is being renumbered,
or where your AREAS file does not contain "KILL" lines used by MREN.
It allows setting of the default maximum number of messages to be
retained in message areas where none other applies.
-D# Set default maximum days since arrival
Similar to the previous (maximum messages) option, except this
specifies the default maximum days since tossing into your message
areas (this implies use of a mail tossing software, such as ConfMail,
QMail or D'Bridge which supports the date arrived field). Any "KILL"
line in your AREAS file overrides the command line.
-Aname Specify name of an areas file
Allows an AREAS file other than the default "AREAS.BBS" to be used.
If the path is omitted (ie. just the file name specified), MREN will
search all the 'usual places' (in directories pointed to by any of the
more common environment variables used with mailers and/BBS programs).
-N Enables use with Opus ver 1.10 or greater
Where user files are being renumbered (and thus SYSTEM??.BBS files
examined and matched against message areas found in the AREAS file),
and the current system uses a hexadecimal notation for virtual
bulletin board files (such as with Opus 1.10 gamma versions), this
option will enable MREN to interpret the area numbers appended to the
SYSTEM name correctly as hexadecimal.
The same set of environment variables ("BINKLEY", "OPUS", "BBS",
"DBRIDGE", "FD") are examined for a directory containing the
SYSTEM??.BBS files, so these need not be located in the current
directory.
-Ufile Adjust msg pointers in user file 'file'
This provides the ability to renumber a named SET of user files; in
OPus 1.xx format. Multiple user files may be specified in separate
Page 4
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
arguments, or a wild card specification may be given. This directly
supports multi-line Opus systems with multiple User files sharing the
same message base.
-DB Use D'Bridge style exported config file
By default, a standard AREAS.BBS format file is assumed. If this
option is given, MREN will instead search for a DBRIDGE.AUT (starting
with the DBRIDGE directory), or where a file is specified with the -A
switch, it is assumed to be in the D'Bridge "exported" configuration
file format (DB automatically exports DBRIDGE.AUT at midnight).
-Ffile Use named file as worklist (ECHOTOSS.LOG)
If your echomail tossing software includes the option to save a list
of areas affected by its operation, this can save a lot of unnecessary
processing on areas not affected. The file named after "-F" can
contain a list of area names and/or directories which MREN will use as
a work list. The file will not be deleted or otherwise affected.
Invalid area names or directories are simply ignored.
-K Kill received messages
This option is useful for local message areas, and deletes any
received messages in that area.
-Efile Save mail statistics in file 'file'
MREN internally keeps statistics on its operation; this option
provides the ability to produce and append to a text listing. Where
"kill by number" is used, the number of messages purged is often a
fair indicator of echomail throughput.
-Zdir Archive deleted messages to dir\<area>.SAV
This specifies the directory to which purged messages are
automatically archived. It also turns the area archiving
automatically "on" (but this may be overridden in the AREAS file).
The archive name is ALWAYS constructed by appending this directory
name (which may or may not include a trailing backslash) with up to
the first eight letters of the area tag, with the extension ".SAV".
If no directory is specified, and area archive is enabled with with
the "-Z" switch (with no directory) or using "Z" on the "KILL" line in
the AREAS file, the archive will be created and added to in the
message area directory itself.
This switch will have no effect with D'Bridge users, since the area
"archive" name specified in Area Maintenance will always override it.
No area archive name will result in no archive being kept for that
area. If you do not specify a path the the area archive name, MREN
Page 5
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
will create and maintain it in the message area directory itself
(unlike DBUTIL, which uses the DBRIDGE directory by default).
AREAS FILE OPTIONS
D'Bridge Exported Configuration File
Most of MREN's purge and archiving options are directly controlled in
DBRIDGE's Area Maintenance menu; and each option has direct
correspondence with action taken by MREN. The following items are
used:
Echo area Enables special treatment of echomail areas
(such as maintenance of highwater marks) for
the area.
Local area Indicates a non-echomail area.
Area archive Enables archiving of purged messages for the
area and specifies the archive name (without
a path, the archive is created and maintained
in the message area directory itself).
Preserve Enables a specific number of messages to be
preserved in the area - these will never be
purged. If the area is echomail, then
"1.MSG" is always preserved (since this is
the echomail highwater marked used by echo
scanning software).
Purge all except Provides the maximum number of messages to
retain for the message area.
Purge after Provides the maximum number of days since
arrival after which messages will be purged.
Note that, unlike DBUTIL, the message date is
not used, but the date on which the message
was tossed into the message base.
End Marks the end of the configuration file.
In many ways, using DBRIDGE.AUT is much more straight forward than
using an AREAS file (if you use D'Bridge of course!). All information
is maintained using D'Bridge's menu and built-in "Areafix"; only
specific fields need be specified for areas (such as purge parameters
and area archive names), and a separate configuration file need not be
kept.
Page 6
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
ConfMail Compatible AREAS file
Many pieces of information about your system are assumed from "clues"
when MREN finds and reads the AREAS file. The file "AREAS.BBS" is
used by default where no other name is specified, and is searched for
in (first) the current directory, then directories named in the
environment variables "BINKLEY", "OPUS", "SEADOG", "FD" or "DBRIDGE".
Unless specific directories only are being renumbered/relinked or
purged, an AREAS file is always required and read.
The format of the areas file is exactly that used by ConfMail, with
comment lines starting with a semicolon (;), special multi-purges
configuration lines starting with a hyphen (-) (ConfMail will ignore
what it doesn't understand here, and MREN takes advantage of this),
and area definitions specified by a directory name, area tag, and (if
it is an echomail area) a list of net/nodes to which echomail is sent
and/or received.
ConfMail allows more than just echo areas to be defined in this file.
Local areas may have a tag assigned to them, and are distinguished
from echomail areas by the lack of a list of net/nodes after the area
tag. ConfMail will ignore these areas (and MREN will assume they are
local). MREN also assumes that such an area with the special area tag
"MAIL_DIR" is your netmail directory.
MREN understands a special line in an AREAS file as being modifiers
for its own use. It is distinguished from other lines, by being a
hyphen in the first column of the line, followed by whitespace (spaces
or tabs), then the word "KILL:" (note that the colon is required).
The occurrence of this line resets all "active" variables (such as
maximum messages, age of messages etc.) to zero - usually disabling
them - and these must then be explicitly set on this line for any
following message areas.
Any given "KILL" line applies to all following area definitions, up to
the next "KILL" line, or until end of file. Until a "KILL" line is
encountered, purging options specified on the command line apply.
Options in "KILL" lines *always* overrides any command line
specifications and switches. Areas should be conveniently grouped for
ease of maintenance.
The following items may be set explicitly on a "KILL" line:
nnn This is a number by itself (no trailing letters).
It specifies the maximum number of messages
retained for following areas.
nnnD The 'd' (as with all letters, this may be upper or
lower case) option defines the maximum number of
days since arrival after which messages are to be
Page 7
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
purged.
nnnP Specifies the number of messages to be preserved,
and not purged.
The following single letter options must be separated by
whitespace tabs and/or space characters. Remember that each
corresponding option is automatically TURNED OFF merely by the
occurrence of the "KILL" line in the areas file, and any previous
value set on the command line or in previous "KILL" lines
discarded.
R Enables "kill if received" for the following
areas. When a user reads a message addressed to
him or here, your BBS software will automatically
mark the message as received.
Z Enable area archiving for the following area(s).
MREN will create and add to archives (messages
files converted to text format) as it purges them
from the message base. By default, MREN creates
these in the message area directory unless a
specific path is given on the command line after
the "-Z" option.
The next three options override any assumptions that MREN might
make regarding the type of message areas (ie. their attributes).
These specifiers override the built-in in assumptions and exist
to correct otherwise erroneous actions; such as an echomail area
without sending/receiving net/nodes (handy for one-way echoes).
N Indicates that the following area(s) are netmail.
This allows use of a tag other than MAIL_DIR for
such an area (you may for some reason have
multiple netmail areas defined).
E Forces the area(s) to be treated as echomail;
implying the existence and requirement to maintain
echomail scan "high water" marks in 1.MSG.
L Fores the area(s) following to be treated as local
areas, even though net/nodes may be specified.
If user file number is selected, MsgRenum automatically searches for
SYSTEM??.BBS files in the same list of directories as searched for the
AREAS file. Each SYSTEM??.BBS file is read, and matched against the
directories found in the AREAS file. When a match is found, the
virtual bulletin board number is assigned to that message area.
Page 8
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
A side effect to this is that Opus conveniently provides a set of area
attributes which may be more relied upon than MsgRenum's assumption
and are therefore used in preference.
MSGRENUM FUNCTIONS
Message Purge
No additional configuration files area required. To provide
information to MsgRenum about the desired maximum number or age of
messages, you can either specify these on the command line (for all
message areas processed) or place special control lines directly in
your AREAS.BBS. These control lines are safely ignored by ConfMail and
other similar echomail scanners. They have the format:
"- KILL: mmm nnD nnnP R Z N E L"
The hyphen must be in column 1 (left margin). "KILL:" (colon
required) identifies the line as having purge information. The
numbers and options which follow determine purge, archive and
attribute information (these are explained more completely earlier).
If any parameter is not supplied, then that method of purging is
disabled for all following message area lines.
"- KILL: 30d" would kill all messages arrived on your system
before 30 days from the current date. NOTE: This is
not necessarily (or usually) the same date which is
displayed as part of the message header.
"- KILL: 250" would kill messages (starting from no 2) until
only 250 messages were left.
Note that "1.MSG" is NEVER deleted in an echomail area. This
contains an echomail "high water" mark (usually placed there
automatically by an Opus, ConfMail or QMail echomail scan).
Purge by date, by received attribute and purge by number can be used
in combination. This means that messages no longer current in a
message area which was once active can be culled systematically after
a given amount of time has lapsed.
Page 9
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
A typical section of an AREAs file might look something like:
.
.
.
- KILL: 30D R Z N
E:\MSGS\NET MAIL_DIR
- KILL: 100 R L
E:\MSGS\LOCAL CHITCHAT
E:\MSGS\LOGOFF LOGOFF
E:\MSGS\TOSYSOP TOSYSOP
- KILL: 150 30d E
E:\MSGS\80XXX 80XXX
E:\MSGS\AUSTC AUST_C_HERE net/node ...
E:\MSGS\BBSNEWS BBS_NEWS net/node ...
- KILL: 300 30D E Z
E:\MSGS\CECHO C_ECHO net/node ...
E:\MSGS\NETDEV NET_DEV net/node ...
- KILL: 200 45D
E:\MSGS\ECPROG ECPROG net/node ...
E:\MSGS\Z3SYS ZONE3_SYSOP net/node ...
E:\MSGS\OS2 OS2 net/node ...
- KILL: 100 45D
E:\MSGS\BINKLEY BINKLEY net/node ...
E:\MSGS\XENIX AUST_XENIX net/node ...
.
.
.
Note again that the "KILL:" lines apply to all following areas lines.
Message areas may be conveniently grouped to make maintenance of this
information as easy as possible.
Where either "-M" or "-D" are used on the command line, these will
apply to message areas up to the first "KILL:" line (and if no KILL
line is found, will apply to all areas).
An AREAS file is only used when not renumbering specific directories
(otherwise AREAS file information must be used).
Where the 'Z' option is used, or if the "-Z" command line switch is
active and there is no "KILL:" line above an area definition, a purged
messages archive is automatically created and maintained.
D'Bridge's DBRIDGE.AUT
If D'Bridge format is selected, the purge method specified in Message
Areas Setup is used (by days or number of messages). MREN will ALWAYS
protect 1.MSG in any echomail area as use this as the high water
markers.
Since purge by date uses the "date arrived" (Opus style) in each
message header, the message must have been imported into the Fido
Page 10
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
message base by D'Bridge 1.20 or later, or by another program which
supports this field; such as ConfMail, Opus or QMail. Messages with
'0' in this field will never be deleted if purge by date arrived is
the only method used (D'Bridge does not allow these to be used in
combination).
BBS message areas are still matched against the SYSTEM??.BBS files (if
found) when renumbering your OPUS user file.
MsgRenum does not currently support renumbering, purging or relinking
message base formats other than 'Fido' or 'Opus'. QuickBBS formats
will be supported in a future version.
Message Renumbering
Renumbering is normally done in conjunction with purging. Sysop
lastread pointers (including extended lastread pointers used by MSGED
and some other external editors) and echomail high water marks are
automatically adjusted as part of the renumbering process. To
renumber your user file (must be Opus compatible), you MUST specify
the "-U" command line switch and supply the FULL PATH SPECIFICATION of
your user files; this may include wildcard matching characters, and
multiple -U options may be used.
Note that previous versions (1.20 and below) of MsgRenum, RENUM 3.3
and ConfMail RENUM all require a file called "USER.BBS" to be in the
current directory. Since Opus allows the user file name to be
anything (specified in its control file) this was not always
convenient, and a sysop had no freedom to take advantage of the added
security of calling his user file an innocent "OLDSTUFF.BBS" and
placed in an obscure location on the hard disk.
To match the messages areas specified in the AREAS file with numbers
recognized and used by the BBS, MsgRenum searches for (using the same
scheme as with the AREAS file) the SYSTEM??.BBS files used by the BBS
program. These files are read and matched against the AREAS file by
directory path. Where multiple SYSTEM??.BBS files point to the same
directory, the lowest numbered area found which matches is used
(except area 0 - a higher numbered duplicate will always take
precedence).
This utility can also be used with Opus 1.10 or greater. If the "-N"
(new Opus) switch is used, the numbers attaching to the SYSTEM??.BBS
files will be correctly interpreted as hexadecimal.
Message Reply Linking
MsgRenum uses a simple algorithm to attempt to match messages with
their respective replies and responses - it links all messages with a
similar subject into a common reply "thread". It ignores any
preceding (even multiple) "Re:" on the subject line.
Page 11
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
There will rarely be the occasional "mismatch", since - for speed and
to conserve memory - only the calculated CRC of the upper-cased
subject lines are compared and not the subject lines themselves. This
happens too infrequently to worry about (and also occurs in RENUM and
ConfMail with the same odds ...).
Future versions of MsgRenum will support ^aEID, ^aMSGID and ^aREID
reply linking (one of their original purposes) once a universal scheme
is adopted and in common use. At this time, this is not the case,
and only some software currently in use actually supports them. Their
value is somewhat doubtful as a result, with the overheads involved in
running dupe-checkers and message linkers (both in time and storage
requirements) using this scheme may well make it not viable for
practical use.
Reporting
To help overcome problems, some diagnostic code has been left in
MsgRenum. Many problems are simple - incorrect command line option,
unable to locate BBS directory, misspelling a file name etc. Some of
these can be frustrating and difficult to find, even when the answer -
when discovered - is very obvious.
You can control how much information MsgRenum displays by selecting a
level of "verbosity". A zero value is the highest level possible
displaying results of all operations it carries out. Level 8 is the
least verbose - no messages, progress information, warnings or errors
are displayed. The following general levels are available:
0 Debug Details of all operations displayed with
additional "debug" information (can get messy!)
1 Verbose Lots of information (but not all).
2 Default Displays standard messages plus an
indication of where the program is up to
in the current message area.
3 Normal Displays the name of areas being
processed and the current operation.
4 Warnings Display warnings only, such as unable to
access files or locate a directory.
5 Errors Display errors (non-fatal); usually means
a serious problem which should be
corrected but isn't catastrophic
6-8 Fatal Errors causing an abnormal termination
are in this group; such as insufficient
memory or DOS critical error
Abnormal errors always result in an ERRORLEVEL of 2 or above. If not
command line parameters are supplied, MsgRenum exits with an
ERRORLEVEL of 1.
Page 12
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
MsgRenum also has a built-in statistics function. It can produce a
full audit trail of its actions by using the -E command line option.
This redirects a record of its activity to the file designated,
indicating which areas and how many messages were scanned, how many
purged, renumbered and relinked for each area and in total, and a
record of how long the process took.
Interruption
You would be well advised not to interrupt MsgRenum while it is
processing the message base - particularly when renumbering. Pressing
^C or ^Break will probably work (no steps have been made to
specifically prevent these from working). Instead MREN provides a
'clean' way of exiting before processing all areas.
As each area is completed, MREN checks the keyboard for activity. If
the <ESC> key has been pressed, then it will terminate as if the
previous area was to be the last one to process. Be prepared to wait
after hitting <ESC>, since the current area must be completed first.
Page 13
MsgRenum Ver 2.50
Message Utility for FTSC Message Bases
LICENSE AGREEMENT
Programs and documentation are supplied free of charge on an as is
basis to the Fidonet (and othernet) community. You are free to use
them in any non-profit venture with no obligation on either myself or
my company to support or be responsible for any such use (or misuse).
This program and this documentation is the exclusive property of
Unique Computing Pty Ltd, and is protected by international copyright
laws. By obtaining a copy of the package, you do not "own" a copy -
simply a license to use it. All property rights are retained by the
owner.
You may use the package and/or give copies of the package to others
including posting for download on a bulletin board, but only in a form
that permits inclusion of all files as found in the original, archived
form in which it is distributed. You are not permitted to modify any
portion of the package in any way, including, but not limited to
adding files to or removing files from the distribution package,
changing or editing the documentation, and/or changing or modifying
the executable program. Permission is granted to repack the
distribution archive using a different packing method, provided that
the uncompressed contents EXACTLY match the uncompressed contents of
the distribution archive (I have no particular affiliation with or
preference for any particular archiving method).
This program is not provided with any warranty of any kind, including,
but not limited to fitness for any particular purpose or consequential
loss.
This package may be posted for download or file request by any FidoNet
or compatible network system in archived form, and in adherence to the
terms of the License above. No profit may be realised directly from
such distribution, although the package may be provided for download
on "pay systems." Distribution on diskette form is strictly
prohibited unless done for free for for a charge not exceeding the
cost of the diskettes.
"Fido v11,v12" Tom Jennings, Fido Software
"Opus-CBCS" Wynn Wagner III, The POLE of Dallas
Please direct any inquires or problem reports via netmail to:
Fidonet 3:632/348
or OZ_NET/Alternet 7:833/380.4
// ------------------------ \\
// David Nugent \\
\\\\ Unique Computing Pty Ltd ////
// Fidonet Node 3:632/348.0 \\
// ------------------------ \\
Page 14